#ifndef _ENGINE_
#define _ENGINE

#include <cmath>
#include "Types.hpp"
#include "Networking/Networking.hpp"
#include "Objects/PlayerEntity.hpp"


/** 
* Abstract base class for gameplay managing. This is used by both client
* and server and contains functions used by both client and server that do
* not fit in other classes.
*/
class Engine{
private:
    
public:
    Engine();
    virtual void update() = 0;
    virtual float distance(Entity* a, Entity* b) const;
    virtual float distance(sf::Vector2f a, Entity* b);

    virtual ~Engine(){};
};

#endif